Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Samsung Galaxy Tab 3



  Command line todo list manager-- Taskwarrior

What is Taskwarrior? Taskwarrior is a task management tool in a terminal environment, it has powerful functions. Here is a short description about it from its official website: It maintains a task list, allowing you to add/remove, and otherwise manipulate your tasks. Task has a rich set of subcommands that allow you to do sophisticated things. You'll find it has customizable reports, charts, GTD features, device synching, documentation, extensions, themes, holiday files and much more. Installa...

   Taskwarrior,Task management     2013-08-12 23:44:20

  Using htpasswd to protect your website in Nginx

We need to build a password protected website frequently such as an internal website within the team, demo website. Here what we are talking about is password protection in Nginx server level instead of application level registration and login. We are going to use Nginx server configuration and htpasswd file to achieve password authentication. The final result looks like below(Different browsers may have different interfaces): If the authentication fails, it will report a HTTP error: 401 Author...

   Nginx,Password protected,htpasswd     2013-06-07 21:35:27

  You can get properties of pseudo-element using JavaScript now

The pseudo-element6 in CSS is extremely useful, you can use it to create CSS triangles and lots of other elements without overuse many HTML elements. In the past, you cannot get the property value of pseudo-element in CSS using JavaScript. Now you can call a new method in JavaScript to get them easily. Assume you have below CSS codes: .element:before { content: 'NEW'; color: rgb(255, 0, 0); } To get the properties in .element:before, you can use below JavaScript method: var color = window.getC...

   pseudo-element,property,JavaScript     2014-04-05 20:58:25

  Sales of phones with NFC capability increased by 300% in 2012

According to Sina Tech, Research firm Berg Insight latest report shows that the global NFC smartphone sales increased by 300% to 140 million units in 2012.The report said that the compound annual growth rate of NFC smartphones sales will reach 48.2% in next few years, and in 2017 the number of smartphones sold will reach 1 billion units.NFC is widely used in mobile phones began in 2011, In 2012, the top ten mobile phone manufacturers launched nearly 100 models of NFC mobile phones. In addition t...

   NFC,Apple,2012     2013-06-20 08:51:09

  Binary tree iterator algorithm

Binary tree pre-order,in-order and post-order traversal are basics in algorithm and data structure.And the recursive binary tree traversal is a classical application of recursion. We define a binary tree node as : // C++ struct Node { int value; Node *left; Node *right; } In order binary tree traversal can be: // C++ void inorder_traverse(Node *node) { if (NULL != node->left) { inorder_traverse(node->left); } do_something(node); if (NULL != node->righ...

   Binary tree,Iterator,Traversal     2013-07-14 21:51:09

  Sort an array with only one local variable

Array sorting algorithm question is frequently asked during technical interviews. There are lots of sort algorithms including bubble sort, selection sort, insertion sort, quick sort, merge sort etc. Usually interviewees will be asked to implement sort algorithms. But have you ever been asked to sort an array which you are allowed to define ONLY ONE local variable in your algorithm?  Bubble sort can be used to do this actually. Normally a bubble sort algorithm may need three local ...

   JAVASCRIPT,ALGORITHM,SORTING,BUBBLE SORT     2016-10-07 09:46:49

  The danger of target=_blank and opener

When want to open a new page in a new tab on clicking a link on a page, the usual way of achieving this is to use target="_blank" property in a tag. However, the use of this leaves space for phishing website. Background parent and opener Before talking about the opener object, let's know a bit about parent object when using iframe. HTML provides a parent object which is used to communicate between the parent page and the embedded iframe element. This parent object can be accessed using...

   HTML,TARGET BLANK,REL NOOPENER,REL NOREFERRER     2018-09-15 04:53:56

  Capture video stream with WebRTC

WebRTC(Web Real-Time Communication) is an API supporting real time audio and video communication through a browser. It is now a recommended W3C standard. This post is to show you how to capture video stream and screenshot with WebRTC. Capture video stream To play video stream from the video camera, we first need to put a video tag in our code: <video id="video"></video> The main function to get the video stream is the navigator.getUserMedia, as of now only few of the browsers support...

   WebRTC,Video,Screenshot     2013-10-24 21:04:41

  Three images to understand immutability of String in Java

String is immutable in Java. This means once a String object is created and instantiated, that object cannot be changed. Any operation on the String object will create a new Object instead of operating on the original content. Below are three images to help you understand String immutability in Java. Declare a String String s = "abcd"; s stores the reference to the string content created in the heap. Assign the String reference to another String variable String s2 = s; s2 stores the same ...

   STRING,JAVA     2016-03-11 20:58:28

  Why exception would be thrown when deleting element while looping through HashMap in Java

HashMap and other Collection types are frequently used in Java application programming. This post will explain why exception would be thrown when deleting element with Map.remove() while looping through a Map using Iterator. This issue would also occur to other Collection types such as Set, List. Below is a sample code snippet demonstrating the exception thrown. Map<String,String> map = Collections.synchronizedMap(new TreeMap<String,String>()); map.put("key1","value1"); map.put("ke...

   JAVA,HASHMAP,CONCURRENTMODIFICATIONEXCEPTION     2018-06-30 12:49:09